home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / font / LayoutPathImpl$SegmentPath$LineInfo.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  1.6 KB  |  111 lines

  1. package sun.font;
  2.  
  3. import sun.font.LayoutPathImpl.1;
  4. import sun.font.LayoutPathImpl.SegmentPath;
  5.  
  6. class LayoutPathImpl$SegmentPath$LineInfo {
  7.    // $FF: renamed from: sx double
  8.    double field_0;
  9.    // $FF: renamed from: sy double
  10.    double field_1;
  11.    // $FF: renamed from: lx double
  12.    double field_2;
  13.    // $FF: renamed from: ly double
  14.    double field_3;
  15.    // $FF: renamed from: m double
  16.    double field_4;
  17.    // $FF: synthetic field
  18.    final LayoutPathImpl.SegmentPath this$0;
  19.  
  20.    LayoutPathImpl$SegmentPath$LineInfo(LayoutPathImpl.SegmentPath var1) {
  21.       this.this$0 = var1;
  22.    }
  23.  
  24.    void set(double var1, double var3, double var5, double var7) {
  25.       this.field_0 = var1;
  26.       this.field_1 = var3;
  27.       this.field_2 = var5;
  28.       this.field_3 = var7;
  29.       double var9 = var5 - var1;
  30.       if (var9 == (double)0.0F) {
  31.          this.field_4 = (double)0.0F;
  32.       } else {
  33.          double var11 = var7 - var3;
  34.          this.field_4 = var11 / var9;
  35.       }
  36.  
  37.    }
  38.  
  39.    void set(LayoutPathImpl$SegmentPath$LineInfo var1) {
  40.       this.field_0 = var1.field_0;
  41.       this.field_1 = var1.field_1;
  42.       this.field_2 = var1.field_2;
  43.       this.field_3 = var1.field_3;
  44.       this.field_4 = var1.field_4;
  45.    }
  46.  
  47.    boolean pin(double var1, double var3, LayoutPathImpl$SegmentPath$LineInfo var5) {
  48.       var5.set(this);
  49.       if (this.field_2 >= this.field_0) {
  50.          if (this.field_0 < var3 && this.field_2 >= var1) {
  51.             if (this.field_0 < var1) {
  52.                if (this.field_4 != (double)0.0F) {
  53.                   var5.field_1 = this.field_1 + this.field_4 * (var1 - this.field_0);
  54.                }
  55.  
  56.                var5.field_0 = var1;
  57.             }
  58.  
  59.             if (this.field_2 > var3) {
  60.                if (this.field_4 != (double)0.0F) {
  61.                   var5.field_3 = this.field_3 + this.field_4 * (var3 - this.field_2);
  62.                }
  63.  
  64.                var5.field_2 = var3;
  65.             }
  66.  
  67.             return true;
  68.          }
  69.       } else if (this.field_2 < var3 && this.field_0 >= var1) {
  70.          if (this.field_2 < var1) {
  71.             if (this.field_4 != (double)0.0F) {
  72.                var5.field_3 = this.field_3 + this.field_4 * (var1 - this.field_2);
  73.             }
  74.  
  75.             var5.field_2 = var1;
  76.          }
  77.  
  78.          if (this.field_0 > var3) {
  79.             if (this.field_4 != (double)0.0F) {
  80.                var5.field_1 = this.field_1 + this.field_4 * (var3 - this.field_0);
  81.             }
  82.  
  83.             var5.field_0 = var3;
  84.          }
  85.  
  86.          return true;
  87.       }
  88.  
  89.       return false;
  90.    }
  91.  
  92.    boolean pin(int var1, LayoutPathImpl$SegmentPath$LineInfo var2) {
  93.       double var3 = SegmentPath.access$000(this.this$0)[var1 - 1];
  94.       double var5 = SegmentPath.access$000(this.this$0)[var1 + 2];
  95.       switch (1.$SwitchMap$sun$font$LayoutPathImpl$EndType[this.this$0.etype.ordinal()]) {
  96.          case 2:
  97.             if (var1 == 3) {
  98.                var3 = Double.NEGATIVE_INFINITY;
  99.             }
  100.  
  101.             if (var1 == SegmentPath.access$000(this.this$0).length - 3) {
  102.                var5 = Double.POSITIVE_INFINITY;
  103.             }
  104.          case 1:
  105.          case 3:
  106.          default:
  107.             return this.pin(var3, var5, var2);
  108.       }
  109.    }
  110. }
  111.